/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package livraria.objects.negocios;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import livraria.database.DBUtils;
import livraria.database.exceptions.ErroDatabaseException;
import livraria.utils.enums.CategEnum;

/**
 *
 * @author Ivanovikjch
 */
public class Livro {
    public int codigo, ano;
    public String nome;
    public CategEnum categoria;
    
    //Lista de nomes e codigos dos autores do livro
    public HashMap<Integer, String> nomes_autores;
    public ArrayList<Integer> codigos_autores;
    
    //Dados de estoque
    public int NumeroItens;
    public boolean OperacaoEntrada;
    
    //Dados de valores
    public float valor;
    public Date data_valor;
    
    public static void cadastraLivro(int codigo, int ano, String nome, CategEnum categoria, HashMap<Integer, String>  nomes_autores, ArrayList<Integer> codigos_autores, int NumeroItens, boolean OperacaoEntrada, float Valor, Date data_valor) throws ErroDatabaseException{
        livraria.objects.Livro l = new livraria.objects.Livro( codigo, ano, nome, categoria, nomes_autores, codigos_autores, NumeroItens, OperacaoEntrada, Valor,data_valor);
        l.save();      
     }
    
    public static ArrayList<Livro> obtemListaDeLivros() throws SQLException {
        ArrayList<Livro> lista = new ArrayList<Livro>();
        ArrayList<livraria.objects.Livro> livrosPersistencia = DBUtils.obtemListaDeLivros();
        for(int i=0;i<livrosPersistencia.size();i++){
            Livro liv = new Livro();
            liv.codigo = livrosPersistencia.get(i).getCodigo();
            liv.nome = livrosPersistencia.get(i).getNome();
            liv.ano = livrosPersistencia.get(i).getAno();
            liv.categoria = livrosPersistencia.get(i).getCategoria();
            liv.codigos_autores = livrosPersistencia.get(i).getCodigos_autores();
            liv.nomes_autores = livrosPersistencia.get(i).getNomes_autores();
            liv.NumeroItens = livrosPersistencia.get(i).getNumeroItens();
            liv.OperacaoEntrada = livrosPersistencia.get(i).getOperacaoEntrada();
            liv.valor = livrosPersistencia.get(i).getValor();
            liv.data_valor = livrosPersistencia.get(i).getData_valor();
            lista.add(liv);
        }
        return lista;
    }
        
    
}
